This page last changed on Feb 06, 2009 by cmd0219.

Sprint 2 Goal

Front Burner Stories

Update table without primary key

  • Acceptance criteria:
    • warning provided if multiple rows will be updated
    • cancel function provided
    • varchars, ints supported
    • "clean" input accepted
    • exceptions accepted if user input is bad
Priority
Description Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
  Design Analysis
3 0 3 Eugene
Complete
  Implementation and refactoring
3.5 0 3 Eugene
Complete

Providing warning to user if multiple rows are being updated
1.25 0
2 Eugene
Complete
  Write acceptance tests
2 2   Eugene
Impediment
(Can not update server.xml)
  (Refresh) DBManager Unit Testing
1 0 2.5
Paul
Complete
  (Refresh) Servlet Unit Testing
1 0 1.5
Paul
Complete
             
Total   11.75 2 12  

Design just came as extension of previous update story. Only needed to send old values for WHERE clause

Update using author provided information (column names, sql, ...)

- Note: "user provided information" will be refined during sprint. Currently considering providing a list of column names.

Priority
Description Time Estimate
Time remaining
Time Spent
Status
  Design Analysis
3.5 0
2.5
Complete

  Implementation and refactoring
3 0
.5
 Complete

  Get parameters from macroinfo
1
0
1
Complete

  Presentation
3 0
3
Complete

  Design images
1 0
1.5
Complete

  Insert values into produced javascript, send to update servlet as 'keys
*Check for columns existing, if not show warning*
2
0
.5
Complete
  Generate SQL Statement
1
0
.5
Complete

  UI Refactoring 2 0
2.7
Complete
  Edit Row Cancel
1 0 1.5
Complete

  Make User supplied columns uneditable (when editing row) - modify javascript logic to add input elements to check both primary keys AND identifying columns
1.5
0
1
Complete
  Unit testing
1.5
0
1.5
Complete
  Write acceptance tests
2 0
.5
Complete
           
Total   22.5
0
16.7
 



Notes


UI refactoring:

  • Sorting columns
  • In cell click for edit

TODO

*make user supplied rows uneditable
*where in callback does the old data replacement go

Update with complex datatype support

Edit

Priority
Description Size (Point) Estimate
Time Estimate
  Design Analysis
2
1
  Implementation, unit testing (TDD) and refactoring
1
1
  Write acceptance tests
1
1
       
Total   4 3

Issues:

  • Updating a view without a primary key 
  • Define author provided information

Back Burner Stories

Update view of table with primary key

  • Acceptance criteria:
    • varchars, ints supported
    • "clean" input accepted
    • exceptions accepted if user input is bad
  • Issues:
    • Can we find out if there are primary keys?
    • Can we use JDBC MetaData?
    • Oracle vs. MySQL JDBC driver
Priority
Description Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
  Research/spike relationship between tables and views when updating rows 1.5
.5 1 Paul
In Progress

  Create test VIEWs
.5
0 .5 Paul
Complete
  Design Analysis
4
2
2 Paul
In Progress

  Implementation and refactoring 3.5
3.5
     
  Unit Testing
2
2
     
  Write acceptance tests
2
2      
             
Total   13
9.5
3.5    

Notes

There are issues with updating views of multiple tables.
The approach we think will work is to query for the view definition in vendor specific manor, (MySQL has INFORMATION_SCHEMA table, but slightly different for oracle). Allows for a mapping aliases in the view results to the select statement they map to.

E.g.:
Select C, A FROM view1;
View has columns A, B, C, D, where A maps to t1.c1, B to t1.c2, C to t2.c2, D to t2.c1
Note that the order of columns, and number is not exact from the select and view, and the view's columns could be from other views, meaning the mapping has to be semi-recursive.

Overall: View columns in the select are mapped to the real view columns, then to the table columns they come from.

Charts


Document generated by Confluence on May 21, 2009 10:23